草庐IT

mysql - 使用MySQL而不是MySQLi的问题

全部标签

ruby - 测试 Ruby 字符串或符号的字符串相等性(不是对象相等性)的最简洁方法?

我总是这样做来测试Ruby中的字符串相等性:ifmystring.eql?(yourstring)puts"same"elseputs"different"end这是不测试对象相等性的正确方法吗?我正在寻找最简洁的方法来根据内容测试字符串。加上括号和问号,这看起来有点笨拙。 最佳答案 根据http://www.techotopia.com/index.php/Ruby_String_Concatenation_and_Comparison做任何一个mystring==yourstring或mystring.eql?yourstrin

ruby - 如何使用正则表达式和反向引用编写 Ruby switch 语句(case...when)?

我知道我可以编写Rubycase语句来检查与正则表达式的匹配。但是,我想在返回语句中使用匹配数据。像这样的半伪代码:foo="10/10/2011"casefoowhen/^([0-9][0-9])/print"themonthis#{match[1]}"elseprint"somethingelse"end我怎样才能做到这一点?谢谢!请注意:我知道我永远不会在上述简单情况下使用switch语句,但这只是一个示例。实际上,我试图实现的是为一个可以用各种方式编写的日期匹配许多潜在的正则表达式,然后相应地使用Ruby的Date类对其进行解析。 最佳答案

ruby - 直接访问实例变量与使用访问器方法

谁能解释一下通过self.attribute和@attribute访问实例属性的区别? 最佳答案 self.attribute调用方法attribute。self.attribute=value使用参数value调用方法attribute=。@attribute和@attribute=value获取/设置实例变量@attribute的值。所以基本上它们是两个完全不同的东西。但是,如果您调用attr_accessor:attribute,它定义方法attribute以返回@attribute和方法attribute=(value)来设

ruby - 在 Ruby block 中使用 'return'

我正在尝试将Ruby1.9.1用于嵌入式脚本语言,以便将“最终用户”代码写入Rubyblock中。一个问题是我希望用户能够在block中使用“return”关键字,这样他们就不必担心隐式返回值。考虑到这一点,这就是我希望能够做的事情:defthing(*args,&block)value=block.callputs"value=#{value}"endthing{return6*7}如果我在上面的示例中使用“return”,我会得到一个LocalJumpError。我知道这是因为有问题的block是Proc而不是lambda。如果我删除“return”,代码就可以工作,但我真的更希望

ruby-on-rails - gem安装权限问题

qichunren@zhaobak:~>geminstallhpricotERROR:Whileexecutinggem...(Gem::FilePermissionError)Youdon'thavewritepermissionsintothe/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8directory.当前登录用户是qichunren,qichunre用户对.gem目录有写权限。我想知道为什么gem不先安装文件到我家的.gem目录?为什么我的gemcommon首先要安装文件到/opt/ruby-enterprise-1.8.7/lib

ruby-on-rails - 为什么我不能使用 RVM 在 Lion 上安装 Rails?

我在尝试使用RVM在OSXLion上安装Rails时遇到问题。到目前为止,我已经完成了以下工作:安装了MacOSXLion版本10.7(内部版本11A459e)。已安装XCode4.1开发者预览版5。已安装RVM。使用命令rvminstall1.8.7通过RVM安装了1.8.7版本的Ruby。注意:我需要使用1.8.7而不是1.9.2。使用命令rvm1.8.7切换到1.8.7版本的Ruby。使用命令rvmgemsetcreaterails3创建了一个新的gemset。使用命令rvmuse1.8.7@rails3切换到新的gemset。为了安装Rails,我运行了命令geminstall

ruby-on-rails - 在 rails 中使用 RSpec 和 Capybara 时未定义的方法 `visit'

我无法让capybara使用rspec。它给了我这个错误:undefinedmethod`visit'for#我知道有很多关于此的帖子,但没有一个解决方案适合我。其中大部分涉及不在/spec/features中的规范-我的在其中。首先是错误:$bundleexecrspecspecFFailures:1)securitysignsusersinFailure/Error:visit"/sessions/new"NoMethodError:undefinedmethod`visit'for##./spec/features/security_spec.rb:4:in`(root)'Fin

ruby - 如何知道 ruby​​ 中什么不是线程安全的?

startingfromRails4,默认情况下,一切都必须在线程环境中运行。这意味着我们编写的所有代码和所有我们使用的gem必须是threadsafe所以,我对此有几个问题:什么在ruby​​/rails中不是线程安全的?VS什么是ruby​​/rails中的线程安全?是否有已知线程安全的gem列表,反之亦然?是否有非线程安全示例的常见代码模式列表@result||=some_method?rubylang核心中的数据结构如Hash等线程安全?在MRI上,哪里有GVL/GIL这意味着一次只能运行1个ruby​​线程,除了IO,线程安全的变化对我们有影响吗?

ruby-on-rails - 将 SOAP 与 Ruby 结合使用的最佳方式是什么?

我的一个客户要求我将第3方API集成到他们的Rails应用程序中。唯一的问题是API使用SOAP。Ruby基本上放弃了SOAP以支持REST。他们提供了一个Java适配器,显然可以与Java-Ruby桥一起使用,但如果可能的话,我们希望将其全部保留在Ruby中。我调查了soap4r,但它的名声似乎有点差。那么将SOAP调用集成到Rails应用程序中的最佳方法是什么? 最佳答案 我build了Savon尽可能简单地通过Ruby与SOAP网络服务进行交互。我建议您检查一下。 关于ruby-o

ruby-on-rails - Ruby/Rails - 更改时间的时区,而不更改值

我在数据库中有一条记录foo,它具有:start_time和:timezone属性。:start_time是UTC时间-例如,2001-01-0114:20:00。:timezone是一个字符串-例如,America/New_York。我想创建一个值为:start_time但其时区由:timezone指定的新时间对象。我不想加载:start_time然后转换为:timezone,因为Rails会很聪明地从UTC更新时间以与该时区一致。目前,t=foo.start_time=>2000-01-0114:20:00UTCt.zone=>"UTC"t.in_time_zone("Americ